package tod141.medlemsliste.controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import no.medlemsliste.dao.MedlemDAO;
import no.medlemsliste.dao.jdbc.MedlemDAOImpl;


import tod141.medlemsliste.model.Medlem;
import tod141.medlemsliste.skjemadata.NyttMedlem;
import tod141.medlemsliste.utilities.RequestException;
import tod141.medlemsliste.utilities.ServletUtilities;

public class MedlemData extends HttpServlet {
  private static final long serialVersionUID = 1L;


  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String adresse="/WEB-INF/feilBruk.jsp";
    RequestDispatcher dispatcher = request.getRequestDispatcher(adresse);
    dispatcher.forward(request,response);
  }

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    NyttMedlem medlemSkjemadata = new NyttMedlem();
    try {
      BeanUtils.populate(medlemSkjemadata, request.getParameterMap());
      Medlem medlem = medlemSkjemadata.getMedlem();
      if (medlem == null) throw new RequestException ("Parameter for medlem mangler.");
      MedlemDAO medlemDAO = new MedlemDAOImpl();
      if (medlem.getMedlemId() == 0){
        medlemDAO.nyttMedlem(medlem);
      } else {
        medlemDAO.endreMedlem(medlem);
      }
      ServletUtilities.sendResponse(response,true);
    } catch(Exception e) {
      ServletUtilities.sendResponse(response,false);
    }
  }
}
